home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et3_0-a1.lha / et3 / examples / guard / guard.C next >
C/C++ Source or Header  |  1992-02-06  |  453b  |  41 lines

  1. #include "Object.h"
  2. #include "System.h"
  3. #include "Class.h"
  4.  
  5. class A: public Object {
  6. public:
  7.     MetaDef(A);
  8.  
  9.     A()
  10.       {}
  11.     void bar()
  12.       { cerr << "bar\n"; }
  13. };
  14.  
  15. MetaImpl0(A);
  16.  
  17. class B: public A {
  18. public:
  19.     MetaDef(B);
  20.  
  21.     B()
  22.       {}
  23.     void foo()
  24.       { cerr << "foo\n"; }
  25. };
  26.  
  27. MetaImpl0(B);
  28.  
  29. main(int, char **argv)
  30. {
  31.     ETInit(argv);
  32.  
  33.     Object *o= new A;
  34.  
  35.     Guard(o, A)->bar();
  36.     Guard(o, B)->foo();
  37.     
  38.     SafeDelete(o);
  39. }
  40.  
  41.